/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import Controller.Company_controller;
import java.sql.SQLException;
import javax.swing.JComboBox;

/**
 *
 * @author User
 */
public class company_model {

    static Connect conexClient = new Connect();

    public static boolean modificarEmpresa(Company_controller x) {
        boolean r = true;
        try {
           
            conexClient.setQuery("UPDATE Empresas SET emp_nit='" + x.getNit_empresa()
                    + "', emp_nombre ='" + x.getNombre_empresa()
                    + "', emp_direccion ='" + x.getDireccion_empresa()
                    + "', emp_nombrerpl='" + x.getNombre_replegal()
                    + "', emp_direccionrpl='" + x.getDireccion_replegal()
                    + "', emp_ciudad='" + x.getCiudad_empresa()
                    + "', emp_telefono='" + x.getTelefono_empresa()
                    + "', emp_estado='" + x.getEstado()
                    + "', emp_categoria='" + x.getCategoria()
                    + "' where emp_numero='" + x.getId_empresa() + "'");
            conexClient.Modificar();
            conexClient.hacerCommit();
        } catch (Exception e) {
            e.printStackTrace();
            r = false;
        }
        return r;
    }

    public static Company_controller buscarEmpresa(String x) {
        Company_controller r = null;

        conexClient.setQuery("SELECT * FROM Empresas WHERE emp_numero ='" + x + "'");
        try {
            conexClient.conectar();
            conexClient.Consultar();
            if (conexClient.siguiente()) {
                r = traerEmpresas();
            } else {
                r = null;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return r;
    }

    public static Company_controller traerEmpresas() {
        Company_controller r = null;
        String id_empresa;
        String nit_empresa;
        String nombre_empresa;
        String direccion_empresa;
        String nombre_replegal;
        String direccion_replegal;
        String ciudad_empresa;
        String telefono_empresa;
        String estado;
        String categoria;
        try {
            id_empresa = conexClient.getResultado().getString("emp_numero");
            nit_empresa = conexClient.getResultado().getString("emp_nit");
            nombre_empresa = conexClient.getResultado().getString("emp_nombre");
            direccion_empresa = conexClient.getResultado().getString("emp_direccion");
            telefono_empresa = conexClient.getResultado().getString("emp_telefono");
            nombre_replegal = conexClient.getResultado().getString("emp_nombrerpl");
            direccion_replegal = conexClient.getResultado().getString("emp_direccionrpl");
            ciudad_empresa = conexClient.getResultado().getString("emp_ciudad");
            estado = conexClient.getResultado().getString("emp_estado");
            categoria = conexClient.getResultado().getString("emp_categoria");

            r = new Company_controller(id_empresa, nit_empresa, nombre_empresa, direccion_empresa,
                     nombre_replegal, direccion_replegal, ciudad_empresa, telefono_empresa, estado, categoria);
            return r;
        } catch (Exception e) {
            r = null;
            System.out.println("Erro al Ejecutar la Consulta De Todos Los Registros " + e.getMessage());
        }
        return r;
    }

    public static boolean adicionarEmpresa(Company_controller x) {
        boolean r = true;
        try {
            conexClient.setQuery("INSERT INTO Empresas VALUES (NULL,'" + x.getNit_empresa() + "','" + x.getNombre_empresa() + "','" + x.getDireccion_empresa() + "','"
                    + x.getNombre_replegal() + "','" + x.getDireccion_replegal() + "','" + x.getCiudad_empresa() + "','" + x.getTelefono_empresa() + "','"
                    + x.getEstado() + "','" + x.getCategoria() + "')");
            System.out.println("INSERT INTO Empresas VALUES (NULL,'" + x.getNit_empresa() + "','" + x.getNombre_empresa() + "','" + x.getDireccion_empresa() + "','"
                    + x.getNombre_replegal() + "','" + x.getDireccion_replegal() + "','" + x.getCiudad_empresa() + "','" + x.getTelefono_empresa() + "','"
                    + x.getEstado() + "','" + x.getCategoria() + "')");

            conexClient.Guardar();
            conexClient.hacerCommit();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return r;
    }
    
    public static void cargarEmpresa(JComboBox com) {
        try {
            
            conexClient.conectar();
            conexClient.setQuery("SELECT emp_numero as cod, emp_nombre as nombre FROM Empresas" );
            conexClient.Consultar();
            while (conexClient.getResultado().next()) {
                com.addItem(conexClient.getResultado().getString("cod")+ "-" +conexClient.getResultado().getString("nombre"));
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            conexClient.cerrarResultado();
            conexClient.cerrarStatement();
            conexClient.cerrarConexion();
        }
    }
}
